﻿Imports System.IO
Public Class MyDirectoryInfo
  Private mDirPath As String = ""
  Private NL As String = Environment.NewLine
  Public Property MyDirPath() As String
    Get
      Return mDirPath
    End Get
    Set(ByVal value As String)
      ' verifico se esiste il percorso
      ' indicato prima di assegnarlo
      ' all'attributo
      If My.Computer.FileSystem.
          DirectoryExists(value) Then
        mDirPath = value
      End If
    End Set
  End Property
  Public Sub New(ByVal pDirectoryPath As String)
    ' verifico se esiste il percorso indicato
    ' prima di assegnarlo all'attributo
    If My.Computer.FileSystem.
          DirectoryExists(pDirectoryPath) Then
      mDirPath = pDirectoryPath
    Else
      Throw _
         New DirectoryNotFoundException(
         "La cartella " & pDirectoryPath &
         " non esiste.")
    End If
  End Sub
  Public Function MyGetDirectoryInfo() As String
    Dim risultato As String = ""
    Dim dir As DirectoryInfo
    dir = My.Computer.FileSystem.
          GetDirectoryInfo(mDirPath)
    risultato &= ("Attributi: " &
       dir.Attributes & NL)
    If (dir.Attributes And
         FileAttributes.ReadOnly) = 1 Then
      risultato &= "sola lettura (1) "
    End If
    If (dir.Attributes And
          FileAttributes.Hidden) = 2 Then
      risultato &= "nascosto (2) "
    End If
    If (dir.Attributes And
          FileAttributes.System) = 4 Then
      risultato &= "sistema (4) "
    End If
    If (dir.Attributes And
          FileAttributes.Directory) = 16 Then
      risultato &= "directory (16) "
    End If
    If (dir.Attributes And
          FileAttributes.Archive) = 32 Then
      risultato &= "archivio (32)"
    End If
    ' ... e così via
    Return risultato
  End Function
End Class
